Image transmission technology plays a role in a growing number of scenarios with the development of information technology. Raw image data must undergo compression so that the limited transmission bandwidth can transmit a large amount of image information. An image restored from compressed image data is required to be exactly the same as the original one in many application situations, which requires that the compression methods must not cause a loss of information. In other words, they must be lossless.
A variety of lossless compression standards for image compression have been proposed, for example, GIF, JPEG, MPEG, JPEG2000, etc. In GIF, an LZW algorithm is mainly adopted in compression, which is suitable for compressing geometrical graphics, but the compression effect is poor for natural images. The JPEG lossless compression standard utilizes a 2D prediction model and fulfills a compression process by introducing context to adaptively correct predicted values and performing Golomb coding on the residual. MPEG is a compression algorithm suitable for video data. Although it takes into account similarity between frames of moving images, this algorithm results in blurring during a process of handling artificial graphics like text characters. JPEG2000 adopts a scheme of entropy coding after wavelet transformation and quantization.
There are two common disadvantages in the above algorithms. First, they are of high complexity and low encoding/decoding speed, and thus not applicable to scenarios where real-time transmission of images is strictly required. Next, they need powerful computation capability and large storage capacity, thus are difficult for hardware implementation and may cause high cost.
As an example, JPEG lossless compression uses a 2D prediction model, which implies that pixel information on the preceding row must be temporarily stored during image processing. It will cost considerable overhead resources if the algorithm is implemented in hardware. Further, the use of Hoffman coding or arithmetic coding complicates the realization in hardware. Since the compressed codes of image components are stored successively, it is impossible to processing the components in parallel from the perspective of hardware. This impairs the improvement in compression and decompression efficiency.